<?php

require_once 'defs/Constants.php';
require_once(FILE_CLASS_STATTOTAALACTUEEL);
require_once(FILE_CLASS_STATPCOVERZICHT);
require_once(FILE_CLASS_STATDEELNAME);

/**
  --- PROJECT COFELY 2011, StatStatistiekenRapport --
  @author: Leander Molegraaf
  @category: statistieken
  @name StatStatistiekenRapport

  @uses StatTotaalActueel (object)
  @uses StatProfitcenterOverzicht (object)
  @uses StatDeelname (object)
  @see StatWPIStatistiek (object die deze overerft)
  @see StatTBMStatistiek (object die deze overerft)

  @version 1.2

  datum: 20-06-2012

  BESCHRIJVING:
  Deze klasse is het centrum van alle niet-database klassen: de 3 gedeeltes van de statistieken worden hier aangeroepen
  en hun vul-functies wordt uitgevoerd. die functies staan niet in deze klasse

  WERKING:
  Deze klasse is een masterklasse voor StatTBMStatistiek.php en StatWPIStatistiek.php, roep deze klassen aan.

  OPMERKINGEN:
  1.1 Alleen deze klasse aanroepen wordt niet ondersteund. geen idee wat er dan gebeurd.
  1.2 bij het aanroepen van de Deelname klasse worden veel hardcoded gegevens meegegeven. dit is expres gedaan, omdat
  er anders bij de settings ook nog een boel opties toegevoegd moet worden, waar geen tijd voor is.

  CHANGELOG:
  V1.1:
  - enkele cosmetische verbeteringen
  - bestandsnamen van de statistiek beginnen allemaal met Stat

  1.2:
  - naamgevingen verduidelijkt
  - alle getters/setters geimplementeerd
  - bovenstaande ook toegepast op child klassen.
  - zowel inline als main documentatie (deze comments) geupdate
 */
class StatStatistiekenRapport {

    public $TotaalActueel, $ProfitcenterOverzicht, $Deelname; //klassen
    protected $statistiekSoort; //String
    protected $StatistiekDB; //database klassen
    protected $beginFilterPeriodeMaand, $beginFilterPeriodeJaar, $eindFilterPeriodeMaand, $eindFilterPeriodeJaar; //integers

    /**
     * @name fillDB
     * @return void
     * @since Version 1.0
     * @uses StatTotaalActueel (object)
     * @uses StatProfitcenterOverzicht (object)
     * @uses StatDeelname (object)
     */

    public function fillDB() {
        $this->TotaalActueel = new StatTotaalActueel($this->getStatistiekSoort(), $this->StatistiekDB);
        $this->ProfitcenterOverzicht = new StatProfitcenterOverzicht($this->getStatistiekSoort(), $this->StatistiekDB, $this->beginFilterPeriodeMaand, $this->beginFilterPeriodeJaar);
        $this->Deelname = new StatDeelname($this->getStatistiekSoort() . STAT_DEELNAME_CLASS, true, array(STAT_LEGENDA_GROEN, STAT_LEGENDA_GEEL, STAT_LEGENDA_ROOD), 200, 200, STAT_DEELNAME_MARGINS, true, $this->StatistiekDB, $this->getStatistiekSoort(), $this->beginFilterPeriodeMaand, $this->beginFilterPeriodeJaar, $this->eindFilterPeriodeMaand, $this->eindFilterPeriodeJaar);
    }

    public function getStatistiekSoort() {
        return $this->statistiekSoort;
    }

    public function setStatistiekSoort($statistiekSoort) {
        $this->statistiekSoort = $statistiekSoort;
    }

    public function getBeginFilterPeriodeMaand() {
        return $this->beginFilterPeriodeMaand;
    }

    public function setBeginFilterPeriodeMaand($beginFilterPeriodeMaand) {
        $this->beginFilterPeriodeMaand = $beginFilterPeriodeMaand;
    }

    public function getBeginFilterPeriodeJaar() {
        return $this->beginFilterPeriodeJaar;
    }

    public function setBeginFilterPeriodeJaar($beginFilterPeriodeJaar) {
        $this->beginFilterPeriodeJaar = $beginFilterPeriodeJaar;
    }

    public function getEindFilterPeriodeMaand() {
        return $this->eindFilterPeriodeMaand;
    }

    public function setEindFilterPeriodeMaand($eindFilterPeriodeMaand) {
        $this->eindFilterPeriodeMaand = $eindFilterPeriodeMaand;
    }

    public function getEindFilterPeriodeJaar() {
        return $this->eindFilterPeriodeJaar;
    }

    public function setEindFilterPeriodeJaar($eindFilterPeriodeJaar) {
        $this->eindFilterPeriodeJaar = $eindFilterPeriodeJaar;
    }

}

?>